home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / langs / iconv8_l.arc / IDOL.ARC / VMS.ICN < prev    next >
Encoding:
Text File  |  1990-03-19  |  1.6 KB  |  69 lines

  1. #
  2. # @(#)vms.icn    1.4 3/13/90
  3. # OS-specific code for VMS Idol
  4. #
  5. global lnkopt,cd,md,env,sysok
  6.  
  7. procedure mysystem(s)
  8.   if \loud then write(s)
  9.   return system(s)
  10. end
  11.  
  12. procedure filename(s)
  13.   s[9:0] := ""
  14.   return s
  15. end
  16. procedure writesublink(s)
  17.   writelink(env||s)
  18. end
  19. procedure envpath(filename)
  20.   return env||filename
  21. end
  22. #
  23. # Installation.
  24. # Uses hierarchical filesystem on some systems (see initialize)
  25. #
  26. procedure install(args)
  27.   write("Installing idol environment in ",env)
  28.   if env ~== "" then mysystem(md||env)
  29.   fout := envopen("i_object.icn","w")
  30.   write(fout,"record idol_object(__state,__methods)")
  31.   close(fout)
  32.   fout := &null
  33.   cdicont(["i_object"])
  34. end
  35.  
  36. procedure makeexe(args,i)
  37.   exe := args[i]
  38.   if icont(lnkopt||exe) = \sysok then {
  39.       mysystem("del "||exe||".icn")
  40.       if \exec then {
  41.     write("Executing:")
  42.     exe := "iconx "||exe
  43.     every i := exec+1 to *args do exe ||:= " "||args[i]
  44.     mysystem(exe)
  45.       }
  46.   }
  47. end
  48. #
  49. # system-dependent compilation of idolfile.icn
  50. #   (in the idol subdirectory, if there is one)
  51. #
  52. procedure cdicont(idolfiles)
  53.   if comp = -2 then return  # -t --> don't icont at all
  54.   args := " -c"
  55.   rms  := ""
  56.   every ifile := !idolfiles do args ||:= " " || ifile
  57.   every ifile := !idolfiles do rms  ||:= " " || ifile || ".icn"
  58.  
  59.   every ifile := !idolfiles do mysystem("@vms "||ifile||".icn")
  60. end
  61.  
  62. procedure sysinitialize()
  63.     lnkopt := " \"-Sr500\" \"-Si1000\" \"-SF30\" \"-Sg500\" "
  64.     cd    := "set default "
  65.     md    := "create/dir "
  66.     env   := "[.idolenv]"
  67.     sysok    := 1
  68. end
  69.